use num_bigint::BigInt;
use once_cell::sync::Lazy;
use std::str::FromStr;

/// 1INVE与最小单位ATOM的兑换比例
pub const INVE_ATOM_RATIO: Lazy<BigInt> =
    Lazy::new(|| BigInt::from_str("1000000000000000000").unwrap());

/// 计算标准，每KByte长度收费NRG_PEER_KBYTE个NRG
pub const NRG_PEER_KBYTE: Lazy<BigInt> = Lazy::new(|| BigInt::from_str("100000000").unwrap());

/// 基本交易NRG费用（nrg）
pub const BASE_NRG: Lazy<BigInt> = Lazy::new(|| BigInt::from_str("500000").unwrap());

/// 默认NRG price
pub const DEFAULT_NRG_PRICE: Lazy<BigInt> = Lazy::new(|| BigInt::from_str("1000000000").unwrap());

/// 是否需要手续费
pub const NEED_FEE: bool = true;

/// 助记词单次个数
pub const MNEMONIC_WORD_SIZE: usize = 12;

/// 消息get_message超时时间(毫秒)
pub const MESSAGE_PRESEND_TIME_OUT: i32 = 5 * 60 * 1000;

/// 交易消息留言最大字节数
pub const MAX_TX_REMARK_SIZE: usize = 50;

/// 接口调用响应正常状态码
pub const INTERFACE_RESPONSE_NORMAL_CODE: i32 = 200;
